#ifndef SceneEntity_h__
#define SceneEntity_h__

#include "SceneTypes.h"

class CSceneEntity
{
public:
	CSceneEntity(EntityID entityID, const std::string& entityName, ESceneEntityType entityType);
	virtual ~CSceneEntity();

	EntityID            GetID()     { return m_EntityID; }
	const std::string&  GetName()   { return m_strName;  }
	ESceneEntityType    GetType()   { return m_eType;    }

	virtual bool Init()             { return true;       }
	virtual bool Load(const std::string& filepath) { return true; }

	virtual void Update(float fTime) {}
	virtual void Render() {}
		
private:
	EntityID            m_EntityID;
	std::string         m_strName;
	ESceneEntityType    m_eType;
};
#endif // SceneEntity_h__
